home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.4)
-
- from __future__ import division
- from test.test_support import TestFailed, verify, verbose
-
- def test_true_division():
- if verbose:
- print 'long true division'
-
- huge = 0x1L << 40000
- mhuge = -huge
- verify(huge / huge == 1.0)
- verify(mhuge / mhuge == 1.0)
- verify(huge / mhuge == -1.0)
- verify(mhuge / huge == -1.0)
- verify(1 / huge == 0.0)
- verify(0x1L / huge == 0.0)
- verify(1 / mhuge == 0.0)
- verify(0x1L / mhuge == 0.0)
- verify((666 * huge + (huge >> 1)) / huge == 666.5)
- verify((666 * mhuge + (mhuge >> 1)) / mhuge == 666.5)
- verify((666 * huge + (huge >> 1)) / mhuge == -666.5)
- verify((666 * mhuge + (mhuge >> 1)) / huge == -666.5)
- verify(huge / (huge << 1) == 0.5)
- verify(1000000 * huge / huge == 1000000)
- namespace = {
- 'huge': huge,
- 'mhuge': mhuge }
- for overflow in [
- 'float(huge)',
- 'float(mhuge)',
- 'huge / 1',
- 'huge / 2L',
- 'huge / -1',
- 'huge / -2L',
- 'mhuge / 100',
- 'mhuge / 100L']:
-
- try:
- eval(overflow, namespace)
- except OverflowError:
- continue
-
- raise TestFailed('expected OverflowError from %r' % overflow)
-
- for underflow in [
- '1 / huge',
- '2L / huge',
- '-1 / huge',
- '-2L / huge',
- '100 / mhuge',
- '100L / mhuge']:
- result = eval(underflow, namespace)
- if result != 0.0:
- raise TestFailed('expected underflow to 0 from %r' % underflow)
- continue
-
- for zero in [
- 'huge / 0',
- 'huge / 0L',
- 'mhuge / 0',
- 'mhuge / 0L']:
-
- try:
- eval(zero, namespace)
- except ZeroDivisionError:
- continue
-
- raise TestFailed('expected ZeroDivisionError from %r' % zero)
-
-
- test_true_division()
-